home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 6
/
64er_Magazin_Sonderheft_06_86-06_1986_Markt__Technik_de_Disk_2_of_3_Side_A.d64
/
listing 6
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
10KB
|
311 lines
5 rem **********************************
10 rem * giga-cad graphic-system *
15 rem * 'cad.hardcopy' *
20 rem * by s. vilsmeier & s. lippstreu *
25 rem **********************************
30 :
35 :
40 a=peek(836)+1:poke836,a:ifa=1thengosub1525:load"hard.cad.obj",8,1
45 dima(30,6),b(20):open1,8,15
50 open2,8,2,"cad.printer.datas,s,r":gosub305:iff<>0thenclose2:goto70
55 input#2,d$
60 forx=0to5:input#2,a(0,x):input#2,a(1,x):input#2,a(2,x):fori=3toa(2,x)+2
65 input#2,a(i,x):next:next:close2:gosub305:close1:dd=a(2,1)
70 open1,8,15,"u9":close1:printchr$(14)chr$(8):poke53280,14
75 :
80 :
85 rem **********************************
90 rem * hauptmenue *
95 rem **********************************
100 :
105 print"[147] [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
110 print" [200]ardcopy - [200]auptmenue [146]"
115 fori=1to21:print" [180] [170]":next
120 print" [146]"
125 print" [193]. - [197]inzelne [199]rafik laden"
130 print" [194]. - [200]ardcopy 1-fach"
135 print" [195]. - [200]ardcopy 4-fach"
140 print" [196]. - [200]ardcopy 10-fach"
145 print" [197]. - [197]infache [196]ichte";
150 ifdmthenprint"[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][196]oppelte";
155 print:print" [198]. - [196]ruckeranpassung"
160 print" [199]. - [196]iskettenkommando senden"
165 print" [200]. - [196]irectory anzeigen"
170 print" [201]. - [196]ruckerkommando senden"
175 print" [202]. - [196]ruckerparameter pruefen"
180 print" [196]ruckertyp : ";d$;"[146]";
185 getx$:ifx$<"a"orx$>"j"goto185
190 onasc(x$)-64goto225,435,620,695,520,770,375,560,1415,1125
195 :
200 :
205 rem *********************************
210 rem * grafik laden *
215 rem *********************************
220 :
225 print"[147] [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
230 print" [199]rafik laden [146]":gosub1545
235 input" [206]ame ";n$:ifn$=""orn$="_"goto70
240 iflen(n$)>10goto235
245 sys50192,11,15,1:sys50299,1
250 open2,8,2,"pi."+n$+",p,r":fk=1:open1,8,15:gosub305
255 iff<>0thensys50299,0:close2:goto70
260 sys50442,1:close2:close1
265 sys50299,0:goto70
270 :
275 :
280 rem *********************************
285 rem * disketten-fehler *
290 rem *********************************
295 :
300 open1,8,15:fk=0
305 input#1,f,f$,t,s:iff=0thenreturn
310 iffkthensys50299,0:printchr$(14);chr$(8)
315 print:print" [196]iskettenstatus :"
320 print""f","f$","t","s
325 poke198,0
330 getx$:ifx$=""goto330
335 close2:close1:return
340 goto105
345 :
350 :
355 rem *********************************
360 rem * diskettenkommando senden *
365 rem *********************************
370 :
375 print"[147] [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
380 print" [196]iskettenkommando senden [146]":gosub1545
385 poke631,34:poke198,1
390 input" [203]ommando ";c$:ifc$=""goto70
395 open1,8,15,c$:gosub305:iff=0thengosub315
400 close2:close1:goto70
405 :
410 :
415 rem *********************************
420 rem * hardcopy 1-fach *
425 rem *********************************
430 :
435 print"[147] [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
440 print" [200]ardcopy 1-fach [146]":gosub1545
445 gosub1205:ifdmthengoto465
450 x=1:gosub1250:open4,4,a(1,4)
455 x=4:fors=0to24:gosub1250:sys50475,s*320,0,0,0:print#4:nexts:gosub1215
460 goto105
465 open4,4,a(1,2)
470 fors=0to24step2:x=0:sz=1:gosub1250:x=2:gosub1250
475 sys50475,s*320,1,0,0:print#4:x=0:sz=15:gosub1250:x=2:gosub1250
480 sys50475,s*320,1,1,0:print#4:nexts:gosub1215:goto105
485 goto70
490 :
495 :
500 rem *********************************
505 rem * menuepunkt 'e' *
510 rem *********************************
515 :
520 ifdd=0goto185
525 dm=1-dm:goto125
530 :
535 :
540 rem *********************************
545 rem * directory anzeigen *
550 rem *********************************
555 :
560 print"[147] [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
565 print" [196]irectory anzeigen [146]"
570 print"":open2,8,0,"$0":gosub300:iffgoto70
575 sys50901:close2:close1:poke198,0
580 getx$:ifx$=""goto580
585 goto70
590 :
595 :
600 rem *********************************
605 rem * hardcopy 4-fach *
610 rem *********************************
615 :
620 print"[147] [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
625 print" [200]ardcopy 4-fach [146]":gosub1545
630 n$="":input"[198]ile - [206]ame ";n$:ifn$=""orn$="_"goto105
635 forq=1to4step2:open2,8,2,"hv."+n$+str$(q)+",p,r":sys50442,1:close2
640 open2,8,2,"hv."+n$+str$(q+1)+",p,r":sys50442,2:close2
645 gosub300:iff<>0goto105
650 close1:ifdmthengosub1070:goto660
655 gosub1025
660 nextq:goto105
665 :
670 :
675 rem *********************************
680 rem * hardcopy 10-fach *
685 rem *********************************
690 :
695 print"[147] [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
700 print" [200]ardcopy 10-fach [146]":gosub1545
705 n$="":input"[198]ile - [206]ame ";n$:ifn$=""orn$="_"goto105
710 forq=1to10step2:open2,8,2,"hz."+n$+str$(q)+",p,r":sys50442,1:close2
715 open2,8,2,"hz."+n$+str$(q+1)+",p,r":sys50442,2:close2
720 gosub300:iff<>0goto105
725 close1:ifdmthengosub1070:goto735
730 gosub1025
735 nextq:goto105
740 :
745 :
750 rem *********************************
755 rem * druckeranpassung *
760 rem *********************************
765 :
770 gosub1300
775 print"[215]elchen [196]rucker haben":print"[211]ie denn ";d$
780 input"[145]";d$:d$=left$(d$,19)
785 ifd$="_"goto105
790 gosub1300:print"[206]un muss eingegeben werden, ob ihr"
795 print"[196]rucker ueber die [205]oeglichkeit ver-"
800 print"fuegt, [199]rafiken in doppelter [196]ichte"
805 print"mit einem [218]eilenabstand von n halben "
810 print"[208]unkten auszudrucken."
815 input"[206]un, ist dies moeglich (j/n) ";n1$
820 dd=1:ifn1$="n"thendd=0:goto850
825 gosub1300:print"[215]ieviele [211]teuerzeichen muessen [211]ie"
830 print"senden, um den [218]eilenabstand auf "
835 print"n/144 [201]nch festzulegen ";a(2,0)
840 input"[145]";a(2,0)
845 x=0:gosub1310:ifa$<>"j"goto825
850 gosub1300:print"[206]un ist die [193]nzahl der [211]teuerzeichen"
855 print"von [201]nteresse, um den [196]rucker auf"
860 print"einen [218]eilenabstand von 8/72 [201]nch "
865 print"einzustellen. [193]nzahl ";a(2,1)
870 input"[145]";a(2,1):x=1:gosub1310:ifa$<>"j"goto850
875 ifdd=0goto925
880 gosub1300:print"[215]ieviel [195]odes muessen gesendet wer-"
885 print"den, um [201]hren [196]rucker zum [193]usdruck"
890 print"von 320 [208]unktspalten in doppelter"
895 print"[196]ichte zu bewegen ";a(2,2)
900 input"[145]";a(2,2):x=2:gosub1310:ifa$<>"j"goto880
905 gosub1300:print"[205]it welcher [193]nzahl an [196]ruckersteuer- zeichen ";
910 print"kann man 640 [199]rafikspalten in"
915 print"doppelter [196]ichte drucken ";a(2,3)
920 input"[145]";a(2,3):x=3:gosub1310:ifa$<>"j"goto905
925 gosub1300:print"[205]it wieviel [211]teuercodes bewerkstel-"
930 print"ligt man einen [193]usdruck von 320"
935 print"[211]palten in einfacher [196]ichte ";a(2,4)
940 input"[145]";a(2,4):x=4:gosub1310
945 ifa$<>"j"goto925
950 gosub1300:print"[202]etzt ist es ausserdem noch wichtig,"
955 print"wieviel [211]teuerzeichen [201]hr [196]rucker zum"
960 print"[193]usdruck von 640 [211]palten in einfacher"
965 print"[199]roesse benoetigt ";a(2,5)
970 input"[145]";a(2,5):x=5:gosub1310:ifa$<>"j"goto950
975 open1,8,15,"s:cad.printer.datas"
980 open2,8,2,"cad.printer.datas,s,w":print#2,d$
985 forx=0to5:fori=0toa(2,x)+2:print#2,a(i,x):nexti:nextx:close2
990 gosub305:close1:goto105
995 :
1000 :
1005 rem ********************************
1010 rem * ausdruck einfache dichte *
1015 rem ********************************
1020 :
1025 gosub1205:x=1:gosub1250:open4,4,a(1,5)
1030 x=5:fors=0to24:gosub1250:sys50475,320*s,0,0,1:print#4:nexts
1035 gosub1215:return
1040 :
1045 :
1050 rem ********************************
1055 rem * ausdruck doppelte dichte *
1060 rem ********************************
1065 :
1070 gosub1205:open4,4,a(1,3)
1075 fors=0to24step2:ze=15:ifs=24thenze=7
1080 x=0:sz=1:gosub1250:x=3:gosub1250:sys50475,s*320,1,0,1
1085 print#4:x=0:sz=ze:gosub1250:x=3:gosub1250:sys50475,320*s,1,1,1
1090 print#4:nexts:gosub1215:return
1095 :
1100 :
1105 rem ********************************
1110 rem * druckerparameter pruefen *
1115 rem ********************************
1120 :
1125 print"[147] [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
1130 print" [196]ruckerparameter pruefen [146]":as=1:gosub1545:print
1135 ifddthenprint"[218]eilenabstand n/144 [201]nch :":print:x=0:gosub1340
1140 print"[218]eilenabstand 8/72 [201]nch :":print:x=1:gosub1340
1145 ifddthenprint"[196]oppelte [196]ichte /320 [208]unkte :":print:x=2:gosub1340
1150 ifddthenprint"[196]oppelte [196]ichte /640 [208]unkte :":print:x=3:gosub1340
1155 print"[197]infache [196]ichte /320 [208]unkte :":print:x=4:gosub1340
1160 print"[197]infache [196]ichte /640 [208]unkte :":print:x=5:gosub1340
1165 geta$:ifa$=""goto1165
1170 goto105
1175 :
1180 :
1185 rem ********************************
1190 rem * kanaele oeffnen & schl. *
1195 rem ********************************
1200 :
1205 open1,4,a(1,0):open2,4,a(1,1):open3,4,a(1,2):open7,4,a(1,3)
1210 open5,4,a(1,4):open6,4,a(1,5):return
1215 fori=1to9:closei:next:return
1220 :
1225 :
1230 rem ********************************
1235 rem * druckersequenz senden *
1240 rem ********************************
1245 :
1250 a=a(1,x)+1:ifa=4thena=7
1255 fori=3toa(2,x)+2:fk=1:ifx=0andi=a(2,0)+2thenfk=sz
1260 print#a,chr$(a(i,x)*fk);:next
1265 return
1270 :
1275 :
1280 rem ********************************
1285 rem * eingabe der steuerzeichen *
1290 rem ********************************
1295 :
1300 print"[147] [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
1305 print" [196]ruckeranpassung [146]":gosub1545:return
1310 ifa(2,x)=0thenreturn
1315 print"":fori=3toa(2,x)+2:a$=right$(str$(i-2),2)
1320 print"[145][211]teuercode #";a$;" [157][157][157][157][157][157][157][157][157][157]";a(i,x)
1325 input"[145]";a(i,x):nexti
1330 print"[211]ekundaeradresse ";a(1,x):as=0
1335 input"[145]";a(1,x):as=0
1340 a$=" [211]ekundaeradresse "
1345 a$=a$+right$(str$(a(1,x)),len(str$(a(1,x)))-1)+": ":ifa(2,x)=0goto1365
1350 fori=3toa(2,x)+2:a$=a$+right$(str$(a(i,x)),len(str$(a(i,x)))-1)
1355 ifi<>a(2,x)+2thena$=a$+"/ "
1360 nexti:ifx=0thena$=a$+"*n"
1365 print"[145]";a$:ifasthenreturn
1370 print"[201]st dies korrekt ?"
1375 geta$:if(a$<>"n"anda$<>"j")goto1375
1380 return
1385 :
1390 :
1395 rem ********************************
1400 rem * druckerkommando senden *
1405 rem ********************************
1410 :
1415 print"[147] [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
1420 print" [196]ruckerkommando senden [146]":gosub1545
1425 input"[193]nzahl der [195]odes ";x$:x=val(x$):ifx$="_"orx$=""goto105
1430 print"":fori=1tox:a$=right$(str$(i),2)
1435 print"[145][211]teuercode #";a$;" "
1440 input"[145]";b(i):nexti
1445 input"[211]ekundaeradresse ";sa
1450 a$=" [211]ekundaeradresse "
1455 a$=a$+right$(str$(sa),len(str$(sa))-1)+": "
1460 fori=1tox:a$=a$+right$(str$(b(i)),len(str$(b(i)))-1)
1465 ifi<>xthena$=a$+"/ "
1470 nexti:print"[145]";a$
1475 print"[201]st dies korrekt ?"
1480 geta$:ifa$<>"j"anda$<>"n"goto1480
1485 ifa$="n"goto1415
1490 open4,4,sa:fori=1tox:print#4,chr$(b(i));:next:close4:goto105
1495 :
1500 :
1505 rem ********************************
1510 rem * kopf beim laden *
1515 rem ********************************
1520 :
1525 poke53280,15:poke53281,15:poke646,11:printchr$(14)chr$(8)
1530 print"[147] [183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]"
1535 print" [199]iga-[195][193][196] [200]ardcopy loading..."
1540 print" [175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175]":return
1545 print" [183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]"
1550 return